#mysql #node.js
Вопрос:
В MongoDB, если я звоню, чтобы добавить модель в базу данных в коде, она просто создает таблицу и/или базу данных для вас, если она еще не существует. С MySQL это просто выдает мне ошибку, пока я не перейду и не создам таблицу вручную самостоятельно со всеми нужными столбцами — даже когда я попытался запустить экспресс-сеанс (для продвижения вперед мне пришлось создать таблицу «сеансы» в MySQL workbench с sid, истекает, данные, столбцы createdAt и updatedAt).
Мне интересно, есть ли способ просто создать его автоматически, если он не существует, или я просто неправильно подхожу ко всему этому (т. Е. Мне нужно создать его один раз навсегда, и я готов, даже после развертывания веб-сайта). Я уже создал страницу «database.sql» в коде VS, но я не уверен, как и где связать ее с моим основным кодом.
Комментарии:
1. В чем заключается ошибка? Это ошибка MySQL или node.js ошибка? Также опубликуйте некоторые коды в своем вопросе. Синтаксис таблицы создания MySQL имеет
IF [NOT] EXISTS
функцию. Возможно, вам захочется попробовать это, если вы еще этого не сделали.
Ответ №1:
ТАБЛИЦА СОЗДАНИЯ MySQL, ЕСЛИ ОНА НЕ СУЩЕСТВУЕТ, существует уже довольно давно.
Используйте это либо в файле SQL, либо где-нибудь в части инициализации вашего кода.
Если вы вручную создали правильную структуру в Workbench, возьмите выходные данные show create table sessions
, и у вас будет воспроизводимая структура.
Преимущество SQL заключается в его структурированной природе, поэтому не должно быть большого удивления в том, что таблицы не создаются автоматически. При правильной структуре и индексах он будет хорошо работать и содержать структурированные данные, поэтому вам не нужно выполнять строгие проверки в коде приложения.
Комментарии:
1. Поэтому я бы связал его с помощью «требуется» в основном файле JS, верно? И как только я это сделаю, он автоматически выполнит запрошенные мной обновления?
2. Мои знания в области nodejs невелики, однако вам не может потребоваться файл SQL. Вам нужно будет установить некоторое соединение и выполнить
create table if not exists
sql.
Ответ №2:
Лучше вручную ввести таблицу в MySQL, а не в коде, просто сохраните файл database.sql, который вы можете сохранить в своем репозитории