Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions samples/development-frameworks/SqlServerOnDocker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,21 @@ Prof of concept project with Microsoft SQL Server and Django Framework setup on
## To start development:
1. install [docker](https://docs.docker.com/#/components) and [docker-compose](https://docs.docker.com/compose/install/)
2. clone this repository
2. run `docker-compose build db` to build db container
2. sudo docker-compose run db sqlcmd -S db1.internal.prod.example.com -U SA -P 'Alaska2017' -Q 'create database docker2;'
3. run `docker-compose up web` to test web and db containers
5. run `docker-compose run web python3 manage.py migrate` to apply migrations. **Important! all migrations will go to master database unless you create new database and update settings.py files**
6. run `docker-compose run web python3 manage.py createsuperuser` to create admin account
3. run `docker-compose build db` to build db container
4. run `docker-compose up -d db` to run SQL Server container in detached mode in the background
5. run `docker-compose run db sqlcmd -S db1.internal.prod.example.com -U SA -P 'Alaska2017' -Q "RESTORE FILELISTONLY FROM DISK = N'/var/opt/mssql/backup/AdventureWorksDW2017.bak'"`
to verify database file names before restore,
6. run `docker-compose run db sqlcmd -S db1.internal.prod.example.com -U SA -P 'Alaska2017' -Q "RESTORE DATABASE AdventureWorksDW2017 FROM DISK = N'/var/opt/mssql/backup/AdventureWorksDW2017.bak' WITH MOVE 'AdventureWorksDW2017' TO '/var/opt/mssql/data/AdventureWorksDW2017.mdf', MOVE 'AdventureWorksDW2017_log' TO '/var/opt/mssql/data/AdventureWorksDW2017_log.ldf' "`
to restore AdventureWorksDW2017 database on SQL Server
7. run `docker-compose run web python3 manage.py migrate` to apply migrations on default database. In this case it will be AdventureWorksDW2017.
8. run `docker-compose run web python3 manage.py createsuperuser` to create admin account

## To run project:
1.

1. run `docker-compose up web`
2. point your browser to `localhost:8080`
3. press `CTRL+C` to stop

## Access to sql server
1. sudo docker-compose run db sqlcmd -S db1.internal.prod.example.com -U SA -P 'Alaska2017' -Q 'select 1'
2. sudo docker exec -it sqlserverondocker_db_1 bash
1. sudo docker-compose run db sqlcmd -S db1.internal.prod.example.com -U SA -P 'Alaska2017' -Q 'select 1 from AdventureWorksDW2017'
2. sudo docker exec -it sqlserverondocker_db_1 bash
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
"""
Django settings for SqlServerOnDocker project.

Generated by 'django-admin startproject' using Django 1.10.5.
Generated by 'django-admin startproject' using Django 2.0.2.

For more information on this file, see
https://docs.djangoproject.com/en/1.10/topics/settings/
https://docs.djangoproject.com/en/2.0/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.10/ref/settings/
https://docs.djangoproject.com/en/2.0/ref/settings/
"""

import os
Expand All @@ -17,7 +17,7 @@


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/
# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'd-uguc(o8$i@^ea_+m^tv^_tt7loyf6zf^o3%*ws#zs42_u#(&'
Expand All @@ -37,7 +37,7 @@
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'core',
'core.apps.CoreConfig',
]

MIDDLEWARE = [
Expand Down Expand Up @@ -73,12 +73,13 @@


# Database
# https://docs.djangoproject.com/en/1.10/ref/settings/#databases
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases


DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'docker2',
'NAME': 'AdventureWorksDW2017',
'USER': 'sa',
'PASSWORD': 'Alaska2017',
'HOST': 'db1.internal.prod.example.com',
Expand All @@ -91,7 +92,7 @@


# Password validation
# https://docs.djangoproject.com/en/1.10/ref/settings/#auth-password-validators
# https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
"""SqlServerOnDocker URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.10/topics/http/urls/
https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin
from django.urls import path

urlpatterns = [
url(r'^admin/', admin.site.urls),
path('admin/', admin.site.urls),
]
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/
https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/
"""

import os
Expand Down
Loading