#sql #sql-server #docker #docker-compose
Вопрос:
Я хотел бы создать базу данных MS SQL, используя переменные среды в файле docker-compose.yml :
version: "3"
services:
database:
restart: always
image: mcr.microsoft.com/mssql/server
container_name: ms-sql-server-latest
volumes:
- ./init-script.sql:/docker-entrypoint-initdb.d/init-script.sql
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=password
ports:
- 14033:1433
Мой сценарий инициализации.sql
CREATE DATABASE IF NOT EXISTS some_name;
USE some_name;
Но это не создает базу данных some_name.
Комментарии:
1. Что значит «не работает»?
2.
CREATE DATABASE IF NOT EXISTS
недопустимый синтаксис tsql. Вы можете использовать это вместо этого:IF NOT EXISTS (SELECT 1 FROM sys.databases WHERE name='some_name') CREATE DATABASE some_name;
3. —Отредактировано извините
4. Возможно
docker-entrypoint-initdb.d/init-script.sql
, не поддерживается SQL Server — я думаю, что это функция только для Postgres