Создайте базу данных в docker-составьте MS SQL

#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