초기환경 설치에 관한 자료는 어디에 있나요
하트카운트와 함께 쉽게 시작하는 SQL
24년 9월 10일에 강의를 듣기 시작했습니다... 그런데 초기환경 설치 방법에 관한 자료를 못찾아서 글 남깁니다.. 어디에 있는지.. 알려 주시거나,,, 게시판에 올려 주시면 좋겠습니다.
- sql
- mysql
- sql-query
173만명의 커뮤니티!! 함께 토론해봐요.
하트카운트와 함께 쉽게 시작하는 SQL
24년 9월 10일에 강의를 듣기 시작했습니다... 그런데 초기환경 설치 방법에 관한 자료를 못찾아서 글 남깁니다.. 어디에 있는지.. 알려 주시거나,,, 게시판에 올려 주시면 좋겠습니다.
데이터 분석 SQL Fundamentals
혹시 쿼리를 빨리 읽는 방법이 있을까요? 제가 실무에서 프로시저와 함수들을 주로 사용하고 있습니다. 그런데 제가 SQL 에 익숙하지 않아서 인것도 있지만 주석이 없는 프로시저와 함수들을 보고 의도를 파악하고 분석하는데 시간이 너무 오래 걸리고 있어요. 혹시 서브쿼리 join , union 등이 무분별하게 쓰여진 복잡한 쿼리에서 쿼리의 의도만을 빠르게 파악할 수 있는 방법이 있을까요? 제 나름대로 생각을 해서 SELECT 절은 일단 보지 않고 FROM 절을 먼저 보고 어떤 테이블에서 값을 가지고 오는지 판단한후 WHERE 절을 보고 마지막으로 SELECT 절을 보고 있어요 그런데 SELECT 절에서도 CASE WHEN 문이나 단일행 서브쿼리들이 있어서 실행을 시켜보아도 이게 무슨의미인지 파악하지 못할때가 많아요,, 방법이 있을까요?
초보자를 위한 BigQuery(SQL) 입문
안녕하세요. 특정 컬럼명을 한글로 지정하여 노출하고 싶을 때에는 어떻게 해야 하나요? 별칭 지정할 때에는 따옴표 없이 사용하는거라 하셔서 아래처럼 시도해봤는데, 에러가 뜹니다. select id as 포켓몬아이디, kor_name, eng_name, type1 from basic.pokemon where type1 = 'Fire' 다른 부서원들에게 전달해야 할 때에는 컬럼명을 한글로 노출하여 전달해야 할 일이 많을 것 같아서요.컬럼명을 한글로 노출하려면 어떻게 해야 할까요? 혹시 몰라 ', " 도 함께 사용해봤는데 여전히 오류가 뜹니다. (에러문구는 다르게 뜨긴 하네요) ' 로 시도 " 로 시도
초보자를 위한 BigQuery(SQL) 입문
안녕하세요. 초보자를 위한 BigQuery(SQL) 입문 잘 들었습니다. 생각보다 재미가 있어서 계속 해보려 하는데 무엇을 해야할지 잘 몰라서 고민입니다. 강의 후반부에 "앞으로 배우면 좋을 내용" 에 있는 순서대로 해보려 했습니다. 공식 문서와 블로그 글을 통해 ARRAY, STRUCT의 기본 공부를 했습니다. 다음으로 넘어가 복잡한 데이터 가공하기 부분을 하고 있습니다. 우선 bigquery의 공개 데이터를 사용해 보자는 생각을 했고 Google Trends datasets과 COVID-19 Public Datasets을 살펴봤습니다. 세부사항과 데이터를 보며 어떤 것을 의미하는지까지는 알 수 있었습니다. 다만 이후부터 어떻게 해야할지 감이 안 왔습니다. 강의를 수강할 때는 예제 문제들이 있으니 배운 것을 적용할 수 있었는데, 처음 보는 데이터고 어떤 목적을 갖고 분석을 해야할지 모르겠습니다. bigquery 프로젝트 예제를 찾아봤지만 마땅한게 없었습니다. 혹시 이 강의를 수강하고 연습해 보기 좋은 dataset과 어떤 방식으로 프로젝트를 진행해야 할지 알고 싶습니다.
데이터 분석 SQL Fundamentals
안녕하세요 '실습용 스키마 설치 이슈 시 적용하세요'라는 강의편에 맥북에서 create schema nw; 이렇게 DBeaver에서 실행을 하면 아래와 같은 에라가 뜨네요 ㅠ SQL Error [42501]: ERROR: permission denied for database postgres
다양한 사례로 익히는 SQL 데이터 분석
query = """ select * from nw.customers """ df = pd.read_sql_query(sql=query, con=postgres_engine) df.head(10) --------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) Cell In[25], line 4 1 query = """ 2 select * from nw.customers 3 """ ----> 4 df = pd.read_sql_query(sql=query, con=postgres_engine) 5 df.head(10) File ~\anaconda3\Lib\site-packages\pandas\io\sql.py:468, in read_sql_query(sql, con, index_col, coerce_float, params, parse_dates, chunksize, dtype, dtype_backend) 465 if dtype_backend is lib.no_default: 466 dtype_backend = "numpy" # type: ignore[assignment] --> 468 with pandasSQL_builder(con) as pandas_sql: 469 return pandas_sql.read_query( 470 sql, 471 index_col=index_col, (...) 477 dtype_backend=dtype_backend, 478 ) File ~\anaconda3\Lib\site-packages\pandas\io\sql.py:832, in pandasSQL_builder(con, schema, need_transaction) 829 raise ImportError("Using URI string without sqlalchemy installed.") 831 if sqlalchemy is not None and isinstance(con, (str, sqlalchemy.engine.Connectable)): --> 832 return SQLDatabase(con, schema, need_transaction) 834 warnings.warn( 835 "pandas only supports SQLAlchemy connectable (engine/connection) or " 836 "database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 " (...) 839 stacklevel=find_stack_level(), 840 ) 841 return SQLiteDatabase(con) File ~\anaconda3\Lib\site-packages\pandas\io\sql.py:1539, in SQLDatabase.__init__(self, con, schema, need_transaction) 1537 self.exit_stack.callback(con.dispose) 1538 if isinstance(con, Engine): -> 1539 con = self.exit_stack.enter_context(con.connect()) 1540 if need_transaction and not con.in_transaction(): 1541 self.exit_stack.enter_context(con.begin()) File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\base.py:3245, in Engine.connect(self) 3222 def connect(self) -> Connection: 3223 """Return a new :class:`_engine.Connection` object. 3224 3225 The :class:`_engine.Connection` acts as a Python context manager, so (...) 3242 3243 """ -> 3245 return self._connection_cls(self) File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\base.py:145, in Connection.__init__(self, engine, connection, _has_events, _allow_revalidate, _allow_autobegin) 143 if connection is None: 144 try: --> 145 self._dbapi_connection = engine.raw_connection() 146 except dialect.loaded_dbapi.Error as err: 147 Connection._handle_dbapi_exception_noconnection( 148 err, dialect, engine 149 ) File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\base.py:3269, in Engine.raw_connection(self) 3247 def raw_connection(self) -> PoolProxiedConnection: 3248 """Return a "raw" DBAPI connection from the connection pool. 3249 3250 The returned object is a proxied version of the DBAPI (...) 3267 3268 """ -> 3269 return self.pool.connect() File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:452, in Pool.connect(self) 444 def connect(self) -> PoolProxiedConnection: 445 """Return a DBAPI connection from the pool. 446 447 The connection is instrumented such that when its (...) 450 451 """ --> 452 return _ConnectionFairy._checkout(self) File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:1255, in _ConnectionFairy._checkout(cls, pool, threadconns, fairy) 1247 @classmethod 1248 def _checkout( 1249 cls, (...) 1252 fairy: Optional[_ConnectionFairy] = None, 1253 ) -> _ConnectionFairy: 1254 if not fairy: -> 1255 fairy = _ConnectionRecord.checkout(pool) 1257 if threadconns is not None: 1258 threadconns.current = weakref.ref(fairy) File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:716, in _ConnectionRecord.checkout(cls, pool) 714 rec = cast(_ConnectionRecord, pool._do_get()) 715 else: --> 716 rec = pool._do_get() 718 try: 719 dbapi_connection = rec.get_connection() File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\impl.py:168, in QueuePool._do_get(self) 166 return self._create_connection() 167 except: --> 168 with util.safe_reraise(): 169 self._dec_overflow() 170 raise File ~\anaconda3\Lib\site-packages\sqlalchemy\util\langhelpers.py:147, in safe_reraise.__exit__(self, type_, value, traceback) 145 assert exc_value is not None 146 self._exc_info = None # remove potential circular references --> 147 raise exc_value.with_traceback(exc_tb) 148 else: 149 self._exc_info = None # remove potential circular references File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\impl.py:166, in QueuePool._do_get(self) 164 if self._inc_overflow(): 165 try: --> 166 return self._create_connection() 167 except: 168 with util.safe_reraise(): File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:393, in Pool._create_connection(self) 390 def _create_connection(self) -> ConnectionPoolEntry: 391 """Called by subclasses to create a new ConnectionRecord.""" --> 393 return _ConnectionRecord(self) File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:678, in _ConnectionRecord.__init__(self, pool, connect) 676 self.__pool = pool 677 if connect: --> 678 self.__connect() 679 self.finalize_callback = deque() File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:902, in _ConnectionRecord.__connect(self) 900 self.fresh = True 901 except BaseException as e: --> 902 with util.safe_reraise(): 903 pool.logger.debug("Error on connect(): %s", e) 904 else: 905 # in SQLAlchemy 1.4 the first_connect event is not used by 906 # the engine, so this will usually not be set File ~\anaconda3\Lib\site-packages\sqlalchemy\util\langhelpers.py:147, in safe_reraise.__exit__(self, type_, value, traceback) 145 assert exc_value is not None 146 self._exc_info = None # remove potential circular references --> 147 raise exc_value.with_traceback(exc_tb) 148 else: 149 self._exc_info = None # remove potential circular references File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:898, in _ConnectionRecord.__connect(self) 896 try: 897 self.starttime = time.time() --> 898 self.dbapi_connection = connection = pool._invoke_creator(self) 899 pool.logger.debug("Created new connection %r", connection) 900 self.fresh = True File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\create.py:640, in create_engine.<locals>.connect(connection_record) 638 if connection is not None: 639 return connection --> 640 return dialect.connect(*cargs, **cparams) File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\default.py:580, in DefaultDialect.connect(self, *cargs, **cparams) 578 def connect(self, *cargs, **cparams): 579 # inherits the docstring from interfaces.Dialect.connect --> 580 return self.loaded_dbapi.connect(*cargs, **cparams) File ~\anaconda3\Lib\site-packages\psycopg2\__init__.py:122, in connect(dsn, connection_factory, cursor_factory, **kwargs) 119 kwasync['async_'] = kwargs.pop('async_') 121 dsn = _ext.make_dsn(dsn, **kwargs) --> 122 conn = _connect(dsn, connection_factory=connection_factory, **kwasync) 123 if cursor_factory is not None: 124 conn.cursor_factory = cursor_factory UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 63: invalid start byte 판다스 버전과 sqlalchemy 버전은 다음과 같이 맞추었습니다 2.0.3 2.0.0
Oracle PL/SQL 딱 이만큼.. [개념+실전]
안녕하세요! 수업 정말 잘듣고 있습니다!! 공부한거를 블로그에 작성 하려하는데 예제 같은 것을 출처를 밝혀 포스팅 해도될까요??
삭제된 글입니다
[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
SAS만 다뤘었고 SQL + Python이 대세인 가 싶었는데 어느 순간 대시보드 구축능력도 요구하네요 ㅋㅋㅋㅋ tableau 강의가 있으실지요.. 뭐부터 손을 대야 할지 .. 고민입니다.
Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
안녕하세요. 널널한 개발자님으로부터 얻는 고급 지식에 대해 항상 감사한 마음입니다. 다름이 아니라, 강의를 구입하고 난 후, mac pc를 구입하게 되어 학습 환경을 맞추지 못했습니다.제가 C언어 기반 제품 개발 업무를 담당하고 있어서 지금 강의를 잘 수강하고 싶은데, 에디터나 OS차이로 문제가 있어보입니다.이런 상황에서 학습할 때 어떤 식으로 진행할 수 있을지 문의드립니다.
데이터 분석 SQL Fundamentals
이왕이면 강사님께서 올리신 강좌를 구매해 이어서 학습을 해보려 합니다. 로드맵이 있다면, 보고 구매를 하려고 했는데 올려져 있는 강의 수는 많은데 머신러닝 관련 로드맵이 없더라고요 파이썬 머신러닝 완벽 가이드, 딥러닝 컴퓨터 비전 완벽 가이드 딥러닝 CNN 완벽 가이드 캐글 advanced 머신러닝 실전 박치기 이 강의들을 기본부터 학습하려 하는데요 오래된 강좌가 개정되어 다른 이름으로 만들어져 있어서 내용이 겹치는게 있는지 아니면 모두 수강하는게 맞는지 어떤 순서로 학습하면 되는지 알고 싶습니다.
[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
안녕하세요. 강의를 보면서 열심히 공부하고있습니다. 다름이 아니라 이번에 SQLD 자격증 시험을 신청했습니다. 해당 강의 로드맵을 다 듣고 노랭이 책을 풀려고하는데, 해당 강의 로드맵을 전체적으로 들으면 될까요?
데이터 분석 SQL Fundamentals
강사님 안녕하세요, 조인실습2에서 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여 예시가 조금 헷갈립니다. With 문이 서브쿼리 역할을 하는걸로 이해하고 있는데 해당 예시에서 왜 with문이 왜 필요한지, with문 또는 서브쿼리 사용하지 않고 쿼리를 진행시키는 방법이 있는지 궁금합니다ㅠ
다양한 사례로 익히는 SQL 데이터 분석
선생님.. 나래비는 일본어 입니다. 어감이 예뻐서 옛 우리말인줄 알고 찾아봤는데 '줄을 세우다'라는 일본어 '나라비'가 어원이라고 하네요
오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
안녕하세요 선생님. 문의드리고 싶은 내용이 있는데 글을 올릴 곳이 마땅치 않아 여기에 문의드립니다. 저는 현재 DBA 로 근무 중인데 SQL 작성 능력을 키우고 싶은데 혹시 선생님의 '데이터 분석 SQL Fundamentals' 강의가 DBA 업무 쿼리 작성에 도움이 될 수 있는 강의일까요? 일을 해보니 join, grouping 이 쉬운것 같으면서도 다양한 쿼리 작성 시에 자유자재로 안써지는 편이라 아직 공부가 덜 된것 같아서요. 일/주/월 사이즈 구하는 쿼리나 기타 여러 조건이 결합된 오브젝트 조회 쿼리를 주로 작성할 필요가 있고, 앞으로 튜닝 업무를 위한 튜닝 공부를 할 때도 기본 이상의 SQL 작성 능력이 필요하다고 판단되서 문의드립니다. 그리고 선생님의 ORACLE 아키텍쳐 강의는 출퇴근 간에 잘 듣고 있는데 혹시 SQL 튜닝 강의는 하실 예정이 있으실까요? 감사합니다.
데이터 분석 SQL Fundamentals
datagrip에서 복구 하려고 하면 postgre 관련 cli 가 필요합니다. 아래와 같이 우선 실행 $ brew install libpq $ echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc $ source ~/.zshrc $ psql --version psql (PostgreSQL) 15.2 Path to pg_restore 에서 CMD+SHIFT+G 눌러서 brew로 설치한 디렉토리로 이동 이후 복구 하면 됩니다
갖고노는 MySQL 데이터베이스 by 얄코
sakila db 조회할 때마다 위처럼 튕겨서 찾아보니 MySQL workbench를 8.0.31버전으로 받아야한다고 하네요( 참고 ) 다운로드 링크: https://downloads.mysql.com/archives/workbench/
SELECT ALL FROM SQL
강의로 사용된 사이트 에서 추가 학습해보면 좋을 문제로 풀어보세요! 답은 댓글로 적어두도록 하겠습니다.
아이폰 앱 개발 입문 1편
https://developer.apple.com/download/release/ 강사님의 말씀대로 들어가니, 이제는 Mac App Store 에서만 받을 수 있도록 되어있습니다..
해외취업 ASP.NET Core 웹개발 기본 강좌
- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 자바개발자인데 5월부터 시작하는 .Net Core 프로젝트때문에 공부좀 할려고 강의를 듣게되었습니다. 하지만 .Net Core는 처음이고 .Net Core에대한 지식조차 하나도 없는데... DB관련에서 어려움이 생기더군요. 혹시나 같은 어려움을 겪으시는 분이 있으시다면 참조하세요. ●윈도우 사용자분들은 섹션 4. 엔티티 프레임워크 코어 의 DbContext 강의에서 아래 명령어 실행후 하시고 ① ...MyApp> dotnet tool install --global dotnet-ef ② ..MyApp> dotnet add package Microsoft.EntityFrameworkCore.Design ③ . .MyApp> dotnet ef <- 이젠 강의와 같은 정보가 출력된 것을 볼 수가 있습니다. 아래 MyAppContext.cs 내용이 있으니 참조하세요. MyAppContext설정하나가 추가됨 섹션 6. ASP.NET Core Identity 의 환경설정에서 DbContext에서 IdentityDbContext<ApplicationUser>로 변경하면 IdentityDbContext가 임포드할 수가 없다. 프로젝트폴더(MyApp) 우클릭 > [프로젝트 파일 편집] 클릭 MyApp.proj:다른건 디폴트로 건들리지 말아 주시고 PostgreSQL 라이브러리만 추가 <ItemGroup> ⓪ <!-- dotnet add package Microsoft.EntityFrameworkCore.Design 인스톨후 자동추가됨 --> ⓪<!-- http://www.npgsql.org/efcore/index.html --> ⓪<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5"> ⓪⓪ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> ⓪ <PrivateAssets>all</PrivateAssets> ⓪</PackageReference> <!-- 추가 --> ④ <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0" /> </ItemGroup> ① ~ ④까지만 하시면 .Net Core 3.1로 하셔도 문제없으리라 봅니다. ● 환경 맥 OS 카탈리나 .Net Core 3.1 현재 3.1만 다운로드? 2.0은 어디있는 것인지 모르겠슴. .Net 5.0 Visual Studio mac Docker PostgreSQL 11.5 ● wwwroot는 직접생성 ● Controllers 폴더에 HomeController.cs 생성하기. 추가 -> 새 파일 -> ASP .Net Core -> 컨트롤러 클래스 -> 파일명 : HomeController ● Model 작성 추가 -> 새 파일 -> General -> 빈 클래스 -> 파일명 : Student or 추가 -> 새 클래스 -> General -> 빈 클래스 -> 파일명 : Student ● Razor 뷰 파일 생성.(Index.cshtml) 추가 -> 새 파일 -> ASP .Net Core -> Razor 뷰[cshtml] -> 파일명 : Index(Index -> Student ● Startup.cs : MVC 패턴에 매핑을위한 세팅 /* .Net Core 2.1 app.UseMvc(routes => { ⓪ routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); */ // ASP.NET Core 3.1 app.UseEndpoints(endpoints => { ⓪ endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); % dotnet ef <- EF Core 3.0부터 dotnet ef 컨맨드가 .NET SDK에 포함되어 있지 않다합니다. ● 터미널에서 열기 1.[프로젝트(MyApp)] 우클릭 > [도구] > [Open in Terminai Window] 2. 또는 [프로젝트(MyApp)] 우클릭 > [도구] > [터미널에서 열기] ● % dotnet ef <- 없데요. Could not execute because the specified command or file was not found. Possible reasons for this include: *You misspelled a built -in dotnet command. *You intended to execute a.NET program, but dotnet - ef does not exist. *You intended to run a global tool, but a dotnet - prefixed executable with this name could not be found on the PATH. 1이나 2의 [터미널에서 열기]해서 아래와 같이 인스톨 또는 업데이트해준다. 처음이면 인스톨. ● % dotnet tool install --global dotnet-ef 없으면 인스톨 % dotnet tool update --global dotnet-ef 버젼이 낮으면 업데이트(3.0.0이상으로.) ● % dotnet add package Microsoft.EntityFrameworkCore.Design <- 이것도 설치해야함. ● % dotnet ef <- 이젠 강의와 같은 정보가 출력된 것을 볼 수가 있습니다. ● view > sql server object explorer <- visual studio mac 에는 설치가 안되는 듯. Docker에 리눅스 이미지가 있다하는데, 저는 이 번 프로젝트가 Oracle에서 PostgreSQL로 마이그레이션이라 PostgreSQL로. PostgreSQL은 Docker에 설치하셔도 되고, 직접 로컬에 설치하셔도 됩나다. ● Docker를 설치하고 MyApp/docker-compose.yml 생성 ● appsetting(마이그레이션을 위해 appsetting생성) 추가 -> 새 파일 -> ASP .Net Core -> 앱 설정 파일(App Settings File) > 파일명 : appsettings 디폴트 Docker의 DB실행 MyApp 디렉토리로 이동. VS mac 터미널로 여시길. ● % docker-compose up -d -d는 백그라운드로 실행(도커의 PostgreSQL 시작) ● % docker-compose down 백그라운드 종료(PostgreSQL 종료). 도커 어플리케이션에서 종료해도 됨. 여기까지 진행하시면 강의 따라가실 수 있으십니다. 현재 섹션 5. Repository 패턴까지는 문제없네요. ### 생성된 파일 첨부 ● MyApp/appsettings.json <- 생성 추가 -> 새 파일 -> ASP .Net Core -> 앱 설정 파일(App Settings File) > 파일명 : appsettings 디폴트 { ⓪"Logging": { ⓪⓪ "LogLevel": { ⓪⓪⓪ "Default": "Warning" ⓪⓪ } ⓪ }, ⓪" AllowedHosts": "*" , <- 콤마부터 추가 ⓪ "ConnectionStrings": { ⓪⓪ "MyAppContext": "Host=localhost;Database=MyApp;Port=15432;Username=cstest;Password=cstest" ⓪ } } ● MyApp/docker-compose.yml <- 생성 version: '3' volumes: ⓪ postgres_data: ⓪⓪ driver: 'local' services: ⓪ postgres: ⓪⓪ build: ⓪⓪⓪ context: ./postgres ⓪⓪⓪ dockerfile: Dockerfile ⓪⓪ container_name: "postgres1152" # Docker 컨테이너명 ⓪⓪ environment: ⓪⓪⓪ POSTGRES_PASSWORD: postgres # 수퍼유저 패스워드 ⓪⓪⓪ POSTGRES_USER: cstest # 추가할 DB유저ID ⓪⓪⓪ POSTGRES_PASSWORD: cstest # DB유저패스 ⓪⓪⓪ POSTGRES_DB: MyApp # DB명 ⓪⓪⓪ TZ: "Asia/Tokyo" ⓪⓪ ports: - 15432:5432 # Docker:Docker내부의 PostgreSQL port ⓪⓪ volumes: ⓪⓪⓪ - postgres_data:/var/lib/postgresql/data ⓪⓪⓪ - ./postgres/sql:/docker-entrypoint-initdb.d ● MyApp/postgres/Dockerfile <- 생성 FROM postgres:11.5-alpine <- 버젼은 원하는 버젼으로. ● MyApp/Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddDbContext<MyAppContext>(options => { ⓪// PostgreSQL ⓪ options.UseNpgsql(_config.GetConnectionString("MyAppContext")); }); ● 프로젝트폴더(MyApp) 우클릭 > [프로젝트 파일 편집] 클릭 MyApp.proj:다른건 디폴트로 건들리지 말아 주시고 PostgreSQL 라이브러리만 추가 <ItemGroup> ⓪<!-- dotnet add package Microsoft.EntityFrameworkCore.Design 인스톨후 자동추가됨 --> ⓪<!-- http://www.npgsql.org/efcore/index.html --> ⓪<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5"> ⓪⓪ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> ⓪ <PrivateAssets>all</PrivateAssets> ⓪</PackageReference> ⓪<!-- PostgreSQL 라이브러리 추가입력 --> ⓪ <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.5.1" /> </ItemGroup> ● MyAppContext.cs 생성자의 매개변수 DbContextOptions에 MyAppContext추가 public class MyAppContext : DbContext { ⓪public MyAppContext(DbContextOptions< MyAppContext > options) : base(options){} ⓪public DbSet<Student> Students { get; set; } ⓪public DbSet<Teacher> Teachers { get; set; } } 추가기입 섹션 6. ASP.NET Core Identity 의 환경설정에서 DbContext에서 IdentityDbContext<ApplicationUser>로 변경하면 IdentityDbContext가 임포드할 수가 없네요. ● 프로젝트폴더(MyApp) 우클릭 > [프로젝트 파일 편집] 클릭 MyApp.proj:다른건 디폴트로 건들리지 말아 주시고 Identity 라이브러리만 추가 <ItemGroup> ⓪<!-- dotnet add package Microsoft.EntityFrameworkCore.Design 인스톨후 자동추가됨 --> ⓪<!-- http://www.npgsql.org/efcore/index.html --> ⓪<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5"> ⓪⓪ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> ⓪ <PrivateAssets>all</PrivateAssets> ⓪</PackageReference> ⓪<!-- PostgreSQL 라이브러리 추가입력 --> ⓪<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.5.1" /> <!-- 추가 --> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0" /> </ItemGroup>