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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Mysql PostgreSql PDO бекап [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
3d_killer
Отправлено: 26 Марта, 2016 - 13:08:05
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




OrmaJever и как быть с большим объёмом? за раз же не выберешь таблицу из 2х млн записей?

(Отредактировано автором: 26 Марта, 2016 - 13:08:23)

 
My status
 Top
LIME
Отправлено: 26 Марта, 2016 - 13:11:15
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




это еще он говорит чисто про свой проект
ооой
все гораздо сложнее на реально загруженном проекте
умолкаю
хотите строить небоскреб из бревен? ради бога
ушел
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 13:17:39
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




недавно новый фильм смотрел от марвела по комиксу, там был один супер герой, ну типо добрый ну и типо не совсем, че то так вспомнилось Радость
 
My status
 Top
LIME
Отправлено: 26 Марта, 2016 - 13:21:22
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




сам ты Хэнкок))
яж не просто так балаболю
все по делу
(Добавление)
нет меня
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 13:24:27
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




я не про хенкока, а про дедпула.
А то что все сложнее понятно бывает, на прошлой работе база 300 гигов была но на MsSQL там о таких вещах говорить намного сложнее, но сейчас разговор о меньших данных, но все же
(Добавление)
LIME пишет:
нет меня
обманывать не хорошо
 
My status
 Top
Viper
Отправлено: 26 Марта, 2016 - 14:25:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




3d_killer пишет:
и как быть с большим объёмом? за раз же не выберешь таблицу из 2х млн записей?
а смысл сливать дампы через php в этом случае? Для этого есть тулзы. Шта? Нет тулзов? Пиши сам на сях.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
LIME
Отправлено: 26 Марта, 2016 - 14:27:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




дампы на больших объемах это однозначно изврат
бинлоги
гуглить
(Добавление)
ааа блин
я же ушел))
(Добавление)
Viper пишет:
Пиши сам на сях.
тише тише
парень только окуклился из тупого пхпшника
дай время ему понять что не все есть $_POST
 
 Top
OrmaJever
Отправлено: 26 Марта, 2016 - 14:31:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




3d_killer пишет:
OrmaJever и как быть с большим объёмом? за раз же не выберешь таблицу из 2х млн записей?

Можешь поискать, я не говорю что их нет, лично я просто перепробовал штук 5, некоторые даже на хабре советовали, и во всех ошибки в дампе, в постгре заливаться он не хотел.
Лично я бы попробовал скриптом, за раз конечно 2кк записей не брал бы, но по 100к можно попробовать, и хотя бы посмотреть сколько это времени займет


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LIME
Отправлено: 26 Марта, 2016 - 14:32:21
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




OrmaJever пишет:
лично я просто перепробовал штук 5
серьезно?)))
ты не прикалываешься?))
ндаааа....
(Добавление)
ну что это я...
вполне нормально что опыт приходит со временем
ведь совсем не обязательно что Орма обязан сразу все знать
и я не все знаю
OrmaJever я без задней мысли
но просто ждать от приложения дампа большого размера)))
))) ну ты совсем гонишь))
с наилучшими пожеланиями и я тебя уважаю
но)))...ну смешно же правда))
 
 Top
MiksIr
Отправлено: 26 Марта, 2016 - 17:31:51
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


Мигрировать с mysql на pg в общем несложно, особо кода знаешь обе базы и нет заморочек вроде хранимок с тринерами и т.п.. Как вариант http://www[dot]gab[dot]lc/scripts/php_my2pg
В общем и самому можно набросать конвертор дампа, особо если сначала пошаманить с опциями mysqldump.

Мигрировать приложение чуточку сложнее, если не использованы абстракции. И даже с абстракциями можно попасть на неприятности, связанные с некоторыми вольностями, которые позволяет mysql. Даже если запросы чисо ANSI - можно получить проблемы, например, если таблицы используют верхний регистр и т.п.


-----
self-banned
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 18:41:19
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Вобщем я написал перенос, и успешно перенес базу на постгри, но появилась новая проблема кавычки а именно mysql хочет так:
PHP:
скопировать код в буфер обмена
  1. $STH = DB::DBH()->prepare("SELECT * FROM `".PDB."core_constant`");

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

не менять же весь код, PDO же для чего сделано, но ответа я не нашел, кто мигрировал как тут быть?
(Добавление)
без кавычек никак, так как в названиях таблиц присутствует "-"

(Отредактировано автором: 26 Марта, 2016 - 18:43:33)

 
My status
 Top
MiksIr
Отправлено: 26 Марта, 2016 - 19:42:49
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


менять везде руками, увы

PDO сделано не для этого, PDO это не билдер запросов.
И на будущее использовать всегда "
MySQL это понимает при переключении в ANSI mode


-----
self-banned
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 19:53:37
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




ну да сейчас меняю, перебил таблички убрал "-", потихоньку поднимается, надо проверить около 500 операций
(Добавление)
вот не пойму только, написал перенос, все что касается дат, не могу вставить пустую дату в постгри так сделать нельзя?
(Добавление)
а так вобщем большая часть работоспособна, единственное LIMIT OFFSET через запятую было да и с группировкой надо использовать DISTINCT
 
My status
 Top
OrmaJever
Отправлено: 26 Марта, 2016 - 20:29:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




3d_killer пишет:
не менять же весь код, PDO же для чего сделано, но ответа я не нашел, кто мигрировал как тут быть?

Менять, это кстати первая причина почему не нужно злоупотреблять ` в мускуле. Но вообще кавычки это самое простое что нужно менять, поверь у тебя много запросов работать не будут. Начиная от банальных unix_timestart, if(), заканчивая запросами с группировкой, постре попросит строго указать агрегатную функцию в селекте


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
3d_killer
Отправлено: 26 Марта, 2016 - 20:48:52
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




кстати о группировке, получается правильно делать 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 пишет:
постре попросит строго указать агрегатную функцию в селекте

то есть поля?
 
My status
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB