Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Mysql PostgreSql PDO бекап [2]
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Mysql PostgreSql PDO бекап

Страниц (4): « 1 [2] 3 4 »
 

16. 3d_killer - 26 Марта, 2016 - 13:08:05 - перейти к сообщению
OrmaJever и как быть с большим объёмом? за раз же не выберешь таблицу из 2х млн записей?
17. LIME - 26 Марта, 2016 - 13:11:15 - перейти к сообщению
это еще он говорит чисто про свой проект
ооой
все гораздо сложнее на реально загруженном проекте
умолкаю
хотите строить небоскреб из бревен? ради бога
ушел
18. 3d_killer - 26 Марта, 2016 - 13:17:39 - перейти к сообщению
недавно новый фильм смотрел от марвела по комиксу, там был один супер герой, ну типо добрый ну и типо не совсем, че то так вспомнилось Радость
19. LIME - 26 Марта, 2016 - 13:21:22 - перейти к сообщению
сам ты Хэнкок))
яж не просто так балаболю
все по делу
(Добавление)
нет меня
20. 3d_killer - 26 Марта, 2016 - 13:24:27 - перейти к сообщению
я не про хенкока, а про дедпула.
А то что все сложнее понятно бывает, на прошлой работе база 300 гигов была но на MsSQL там о таких вещах говорить намного сложнее, но сейчас разговор о меньших данных, но все же
(Добавление)
LIME пишет:
нет меня
обманывать не хорошо
21. Viper - 26 Марта, 2016 - 14:25:15 - перейти к сообщению
3d_killer пишет:
и как быть с большим объёмом? за раз же не выберешь таблицу из 2х млн записей?
а смысл сливать дампы через php в этом случае? Для этого есть тулзы. Шта? Нет тулзов? Пиши сам на сях.
22. LIME - 26 Марта, 2016 - 14:27:46 - перейти к сообщению
дампы на больших объемах это однозначно изврат
бинлоги
гуглить
(Добавление)
ааа блин
я же ушел))
(Добавление)
Viper пишет:
Пиши сам на сях.
тише тише
парень только окуклился из тупого пхпшника
дай время ему понять что не все есть $_POST
23. OrmaJever - 26 Марта, 2016 - 14:31:19 - перейти к сообщению
3d_killer пишет:
OrmaJever и как быть с большим объёмом? за раз же не выберешь таблицу из 2х млн записей?

Можешь поискать, я не говорю что их нет, лично я просто перепробовал штук 5, некоторые даже на хабре советовали, и во всех ошибки в дампе, в постгре заливаться он не хотел.
Лично я бы попробовал скриптом, за раз конечно 2кк записей не брал бы, но по 100к можно попробовать, и хотя бы посмотреть сколько это времени займет
24. LIME - 26 Марта, 2016 - 14:32:21 - перейти к сообщению
OrmaJever пишет:
лично я просто перепробовал штук 5
серьезно?)))
ты не прикалываешься?))
ндаааа....
(Добавление)
ну что это я...
вполне нормально что опыт приходит со временем
ведь совсем не обязательно что Орма обязан сразу все знать
и я не все знаю
OrmaJever я без задней мысли
но просто ждать от приложения дампа большого размера)))
))) ну ты совсем гонишь))
с наилучшими пожеланиями и я тебя уважаю
но)))...ну смешно же правда))
25. MiksIr - 26 Марта, 2016 - 17:31:51 - перейти к сообщению
Мигрировать с mysql на pg в общем несложно, особо кода знаешь обе базы и нет заморочек вроде хранимок с тринерами и т.п.. Как вариант http://www[dot]gab[dot]lc/scripts/php_my2pg
В общем и самому можно набросать конвертор дампа, особо если сначала пошаманить с опциями mysqldump.

Мигрировать приложение чуточку сложнее, если не использованы абстракции. И даже с абстракциями можно попасть на неприятности, связанные с некоторыми вольностями, которые позволяет mysql. Даже если запросы чисо ANSI - можно получить проблемы, например, если таблицы используют верхний регистр и т.п.
26. 3d_killer - 26 Марта, 2016 - 18:41:19 - перейти к сообщению
Вобщем я написал перенос, и успешно перенес базу на постгри, но появилась новая проблема кавычки а именно mysql хочет так:
PHP:
скопировать код в буфер обмена
  1. $STH = DB::DBH()->prepare("SELECT * FROM `".PDB."core_constant`");

а постгри так:
PHP:
скопировать код в буфер обмена
  1. $STH = DB::DBH()->prepare("SELECT * FROM \"".PDB."core_constant\"");

не менять же весь код, PDO же для чего сделано, но ответа я не нашел, кто мигрировал как тут быть?
(Добавление)
без кавычек никак, так как в названиях таблиц присутствует "-"
27. MiksIr - 26 Марта, 2016 - 19:42:49 - перейти к сообщению
менять везде руками, увы

PDO сделано не для этого, PDO это не билдер запросов.
И на будущее использовать всегда "
MySQL это понимает при переключении в ANSI mode
28. 3d_killer - 26 Марта, 2016 - 19:53:37 - перейти к сообщению
ну да сейчас меняю, перебил таблички убрал "-", потихоньку поднимается, надо проверить около 500 операций
(Добавление)
вот не пойму только, написал перенос, все что касается дат, не могу вставить пустую дату в постгри так сделать нельзя?
(Добавление)
а так вобщем большая часть работоспособна, единственное LIMIT OFFSET через запятую было да и с группировкой надо использовать DISTINCT
29. OrmaJever - 26 Марта, 2016 - 20:29:12 - перейти к сообщению
3d_killer пишет:
не менять же весь код, PDO же для чего сделано, но ответа я не нашел, кто мигрировал как тут быть?

Менять, это кстати первая причина почему не нужно злоупотреблять ` в мускуле. Но вообще кавычки это самое простое что нужно менять, поверь у тебя много запросов работать не будут. Начиная от банальных unix_timestart, if(), заканчивая запросами с группировкой, постре попросит строго указать агрегатную функцию в селекте
30. 3d_killer - 26 Марта, 2016 - 20:48:52 - перейти к сообщению
кстати о группировке, получается правильно делать 2 селекта?
вот рабочий запрос постгри
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT pre_core_group.name,pre_core_group.id, count(pre_core_group_to_user.id_user) AS count_user
  2.         FROM pre_core_group
  3.                 LEFT JOIN pre_core_group_to_user ON pre_core_group.id=pre_core_group_to_user.id_group
  4.         GROUP BY pre_core_group.name,pre_core_group.id
  5. ORDER BY pre_core_group.name

но как тут можно вытащить все поля таблицы pre_core_group.*
?
(Добавление)
OrmaJever пишет:
постре попросит строго указать агрегатную функцию в селекте

то есть поля?

 

Powered by ExBB FM 1.0 RC1