powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Таинственное превращение представлений
11 сообщений из 11, страница 1 из 1
Таинственное превращение представлений
    #38716485
yanval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Сделал я тут некоторое время назад один простенький сайтик – сделал и забыл.
Однако, намедни люди забили тревогу – ничего не работает. Ну или работает. но как-то совсем не так, как хотелось.
Посмотрев на базу, я обнаружил, что все представления мистическим образом превратились в таблицы.
Подозреваю, что накосячил хостер.
Вопрос даже не в том, что делать, а в том, как такое может произойти?
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716590
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yanvalДобрый день!
Сделал я тут некоторое время назад один простенький сайтик – сделал и забыл.
Однако, намедни люди забили тревогу – ничего не работает. Ну или работает. но как-то совсем не так, как хотелось.
Посмотрев на базу, я обнаружил, что все представления мистическим образом превратились в таблицы.
Подозреваю, что накосячил хостер.
Вопрос даже не в том, что делать, а в том, как такое может произойти?


Это один из тех моментов, когда собираются люди которые
видели маленьких зеленых марсиан и им никто не верит.

Так вот -- я видел такое пару лет назад и тоже
не знаю как такое произошло.

На сайте работает RoR (руби-на-рельсах), есть код который
динамически генерирует вьюшки.
В какой-то момент появились таблицы с тем же именем
и (пере-)создание вьюшек ломалось с ошибкой
"такое имя уже есть в базе". Пришлось ставить предварительное
удаление не только вьюшки DROP VIEW IF EXISTS zzz но и
одноименной таблицы DROP TABLE IF EXISTS zzz
(есть такая оказалась откуда-невозмись).

Мы еше мигрировали сервера примерно в тоже время.
Т.е. подозрение было либо на косяк в моем коде,
либо на косяк в РоР генерации, либо на косяк
в mysqldump... а может кто-то создал эти таблицы руками...

воПщем, вот такие они, зеленые человечики...
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716631
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>простенький сайтик – сделал и забыл.
>На сайте работает RoR (руби-на-рельсах),
не, ну в принципе сходится.
RoR и создавался чтобы "сделал и даже не понял как это работает".

>Подозреваю, что накосячил хостер.

А почему пользуетесь фреймворком, под капотом которого происходит неизвестно что, но свалить пытаетесь на хостера ?
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716656
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwind,

...вы не видели зеленых
человечков -- вы нас не поймете...
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716797
yanval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind, Вы с кем общаетесь? Я нигде не писал, что пользуюсь фреймворком.
Как выяснилось, накосячил хостер (к его выбору я не имел отношения), храня копии данных чуть ли в CSV. И, после аварии на сервере, он данные успешно восстановил.
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716811
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yanval, но ведь если вы не пользуетесь фреймворком и полностью понимаете как работает сайт, то и задавать вопрос не было смысла - нужно общаться только с хостером.
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716863
yanval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind, есть много вещей, которые я не знаю. И утверждать, что я полностью понимаю, как работает сайт, не могу – и, опять таки не утверждаю.
Но не суть...
Как говроил старик Шекли, «чтобы правильно задать вопрос, нужно знать большую часть ответа.»
Я ожидал информации вроде – а вот запуск утилиты myisamchk (или что-то там ещё) с такими вот ключами приведёт к такому повреждению. Или (что менее вероятно*) – у тебя (или у хостера) поселился вот такой злой вирус.
Однако, всё оказалось несколько проще.
Возможно, я зря акцентировал внимание на то, что это БД сайта.
*Почему менее вероятно? В 98% сайтов БД используется только для хранения данных. Поэтому злой вирус скорее потрёт БД.
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716882
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yanvalвсе представления мистическим образом превратились в таблицы.А исходные таблицы этих представлений остались живы?

Как вариант, могли сделать дамп инструментом, который не отличает представления от таблиц, все грохнуть, а потом залить дамп обратно.
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716887
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о! зеленые человечики таки было замечены и раньше!

Смутно помню что в моем случае точно были
вьюшки на вьюшках. Вот в этом
баг репорте обсуждается что в случае вложеных
вьюшек mysqldump сначала создает таблицы
а потом "перебивает" их вьюшками.
И еше какие-то вариации там представлены:

http://bugs.mysql.com/bug.php?id=31434
.....................
[10 Oct 2007 22:40] Sveta Smirnova
Thank you for the report.
There are several different bug reports about similar problem.
...............
[15 May 2008 13:19] Susanne Ebrecht
Verified as described with MySQL 5.0-bk tree.
When you dump a database with views then there is a "create table" at the dump file instead of only the view syntax.
............................
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716894
yanval
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, 1. да. 2. да. О чём я и написал. Очень удивились товарищи,ч то в БД есть что-то кроме таблиц.
javajdbc, из обсуждения «Peter Laursen: this is 'not a bug'!! I *has to be done like this* to ensure that VIEWs defined on VIEWS will always restore (as there is no way to specify/control in which order VIEWS are dumped - and so the 'child' VIEW may be dumped before the 'parent' VIEW -- and for that reason a 'dummy'/'temporary' table needs to be created)».
Т.е. замороченый путь, однако представление не становится тавблицей в итоге.
...
Рейтинг: 0 / 0
Таинственное превращение представлений
    #38716912
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yanval.....
Т.е. замороченый путь, однако представление не становится тавблицей в итоге.


Угу, все по класической пословице:

"где тонко, там и рвется"

ну и Пруткова до кучи:

"Бди!"



Вопщем, интересный момент -- неожидано решилась
одна из непоняток двухлетней давности.


Всем -- хорошей недели!
я пошел по текиле с вырезкой.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Таинственное превращение представлений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]